﻿using System;
using System.Collections.Generic;

using DDDSample.Domain.Model.Cargos;

namespace DDDSample.Domain.Model.Handling
{
	public interface IHandlingEventRepository
	{
		/// <summary>
		/// Saves a (new) handling event.
		/// </summary>
		/// <param name="event">handling event to save</param>
		void Save(HandlingEvent @event);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="trackingId">cargo tracking id</param>
		/// <returns>All handling events for this cargo, ordered by completion time.</returns>
		IList<HandlingEvent> FindEventsForCargo(TrackingId trackingId);
	}
}
